From: Christian Hergert Date: Wed, 29 Sep 2021 19:46:45 +0000 (-0700) Subject: inputMethod: Clear preeditStr before reset X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~557^2^2~35 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=380d2db1d9047ecffcef7d78f00184963b403efc;p=gnome-shell.git inputMethod: Clear preeditStr before reset Previously, these were performed in a different order before GNOME 41. During some other changes they were swapped. However, this causes both GTK 3 and GTK 4 applications to scroll to incorrect positions from the preedit change. Fixes #4647 Fixes GNOME/gtk#4289 Fixes GNOME/gnome-builder#1536 Fixes GNOME/gnome-builder#1531 Part-of: --- diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js index 25b02e35b..1f9eaee7a 100644 --- a/js/misc/inputMethod.js +++ b/js/misc/inputMethod.js @@ -179,16 +179,16 @@ class InputMethod extends Clutter.InputMethod { } vfunc_reset() { + if (this._context) { + this._context.reset(); + this._emitRequestSurrounding(); + } + if (this._preeditStr !== null) { // Unset any preedit text this.set_preedit_text(null, 0, Clutter.PreeditResetMode.CLEAR); this._preeditStr = null; } - - if (this._context) { - this._context.reset(); - this._emitRequestSurrounding(); - } } vfunc_set_cursor_location(rect) {